home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / vesa_tsr.zip / EVEREX / VESA.DOC < prev    next >
Text File  |  1990-01-11  |  40KB  |  861 lines

  1. |-----------------------------------------------------------------------|
  2. |The following document is derived from VESA Super VGA BIOS Extension    |
  3. |document VS891001.  I have tried to make sure that all the information    |
  4. |presented in that document is complete and comprehensive.  If you find    |
  5. |any omissions or errors, please report them to me on the         |
  6. |Everex Systems BBS at (415) 683-2984.                    |
  7. |                        Gary Lorensen        |
  8. |                        Everex Systems, Inc.    |
  9. |                        48571 Milmont Dr. B3    |
  10. |                        Fremont, CA   94538    |
  11. |-----------------------------------------------------------------------|
  12.  
  13.  
  14.  
  15. |-----------------------------------------------------------------------|
  16. |VESA Super VGA Standard                VS891001 10/1/89|
  17. |-----------------------------------------------------------------------|
  18. |Video Electronics Standards Association                |
  19. |1330 South Bascom Ave. Suite D                        |
  20. |San Jose, CA   95128-4502                        |
  21. |FAX:(408) 286-8988                            |
  22. |-----------------------------------------------------------------------|
  23. |Super VGA BIOS Extension                        |
  24. |Standard #VS891001                            |
  25. |                                    |
  26. |Proposal                                |
  27. |    To standardize a common software interface to Super VGA video    |
  28. |    adapters in order to provide simplified software application     |
  29. |    access to advanced VGA products.                    |
  30. |                                    |
  31. |Summary                                |
  32. |    The standard provides a set of functions which an application    |
  33. |    program can use to                            |
  34. |     a) obtain information about the capabilities and         |
  35. |        characteristics of a specific Super VGA implementation.    |
  36. |     b) control the operation of such hardware in terms of video    |
  37. |        mode initialization and video memory access.        |
  38. |    The functions are provided as an extension to the VGA BIOS video    |
  39. |    services, accessed through interrupt 10h.                |
  40. |-----------------------------------------------------------------------|
  41.  
  42. 1. Introduction
  43. ---------------
  44.  
  45. This document contains a specification for a standardized interface to 
  46. extended VGA video modes and functions.  The specification consists of 
  47. mechanisms for supporting standard extended video modes and functions 
  48. that have been approved by the main VESA committee and nonstandard video
  49. modes that an individual VGA supplier may choose to add, in a uniform 
  50. manner that application software can utilize without having to understand 
  51. the intricate details of the particular VGA hardware.
  52.  
  53. The primary topics of this specification are definitions of extended VGA 
  54. video modes and the functions necessary for application software to 
  55. understand the characteristics of the video mode and manipulate the 
  56. extended memory associated with the video modes.
  57.  
  58. Readers of this document should already be familiar with programming VGAs 
  59. at the hardware level and Intel iAPX real mode assembly language.  
  60. Readers who are unfamiliar with programming the VGA should first read 
  61. one of the many VGA programming tutorials before attempting to understand 
  62. these extensions to the standard VGA.
  63.  
  64. |-----------------------------------------------------------------------|
  65.  
  66. 2. Goals and Objectives
  67. -----------------------
  68.  
  69. The IBM VGA (IBM and VGA are trademarks of International Business 
  70. Machines Corporation) has become a de-facto standard in the PC graphics 
  71. world.  A multitude of different VGA offerings exist in the marketplace, 
  72. each one providing BIOS or register compatibility with the IBM VGA.  
  73. More and more of these VGA compatible products implements various 
  74. supersets of the VGA standard.  These extensions range from higher 
  75. resolutions and more colors to improved performance and even some 
  76. graphics processing capabilities.  Intense competition has dramatically 
  77. improved the price/performance ratio, to the benefit of the end user.
  78.  
  79. However, several serious problems face a software developer who intends 
  80. to take advantage of these "Super VGA" environments.  (The term 
  81. "Super VGA" is used in this document as a term for video graphics 
  82. products implementing a superset of the standard IBM VGA display 
  83. adapter.)  Because these is no standard hardware implementation, the 
  84. developer is faced with widely disparate Super VGA hardware 
  85. architectures.  Lacking a common software interface, designing 
  86. applications for these environments is costly and technically difficult.  
  87. Except for applications supported by OEM-specific display drivers, very
  88. few software packages can take advantage of the power and capabilities 
  89. of Super VGA products.
  90.  
  91. The purpose of the VESA VGA BIOS Extension is to remedy this situation.  
  92. Being a common software interface to Super VGA graphics products, the 
  93. primary objective is to enable application and system software to adapt 
  94. to and exploit the wide range of features available in these VGA 
  95. extensions.
  96.  
  97. Specifically, the VESA BIOS Extension attempts to address the following 
  98. two main issues:
  99.     a) Return information about the video environment to the application.
  100.     b) Assists the application in initializing and programming the 
  101.        hardware.
  102.  
  103. 2.1 Video environment information
  104. ---------------------------------
  105.  
  106. Today, an application has no standard mechanism to determine what Super 
  107. VGA hardware is is running on.  Only by knowing OEM-specific features 
  108. can an application determine the presence of a particular video board.  
  109. This often involves reading and testing registers located in I/O 
  110. addresses unique to each OEM.  By not knowing what hardware an 
  111. application is running on, few, if any, of the extended features of the 
  112. underlying hardware can be used.
  113.  
  114. The VESA BIOS Extension provides several functions to return information 
  115. about the video environment.  These functions return system level 
  116. information as well as video mode specific details.  Function 00h returns
  117. general system level information, including an OEM identification string.  
  118. The function also returns a pointer to the supported video modes.  
  119. Function 01h may be used by the application to obtain information about 
  120. each supported video mode.  Function 03h returns the current video mode.
  121.  
  122. 2.2 Programming support
  123. -----------------------
  124.  
  125. Due to the fact that different Super VGA products have different hardware 
  126. implementations, application software has great difficulty in adapting 
  127. to each environment.  However, since each is based on the VGA hardware
  128. architecture, differences are most common in video mode initialization 
  129. and memory mapping.  The rest of the architecture is usually kept intact, 
  130. including I/O mapped registers, video buffer location in the CPU address 
  131. space, DAC location and function, etc.
  132.  
  133. The VESA BIOS Extension provides several functions to interface to the 
  134. different Super VGA hardware implementations.  The most important of 
  135. these us Function 02h, Set Super VGA mode.  The function isolates the 
  136. application from the tedious and complicated task of setting up a video 
  137. mode.  Function 05h provides an interface to the underlying memory 
  138. mapping hardware.  Function 04h enables an application to save and 
  139. restore a Super VGA state without knowing anything of the specific 
  140. implementation.
  141.  
  142. 2.3 Compatibility
  143. -----------------
  144.  
  145. A primary design objective of the VESA BIOS Extension is to preserve 
  146. maximum compatibility to the standard VGA environment.  In no way should 
  147. the BIOS extensions compromise compatibility or performance.  Another but 
  148. related concern is to minimize changes necessary to an existing VGA BIOS.  
  149. RAM as well as ROM-based implementations of the BIOS extension should be 
  150. possible.
  151.  
  152. 2.4 Scope of standard
  153. ---------------------
  154.  
  155. The purpose of the VESA BIOS Extension is to provide support for extended 
  156. VGA environments.  Thus, the underlying hardware architecture is assumed 
  157. to be a VGA.  Graphics software that drives a Super VGA board will 
  158. perform its graphics output in generally the same way it drives a 
  159. standard VGA, i.e. writing directly to a VGA-style frame buffer, 
  160. manipulating graphics controller registers, directly programming the 
  161. palette, etc.  No significant graphics processing will be done in 
  162. hardware.  For this reason, the VESA BIOS Exten